1 package uba.db.sql.interpreter.sentencevalidation;
2
3 import java.util.ArrayList;
4 import java.util.Collections;
5 import java.util.List;
6
7 import uba.db.sql.language.CreateTable;
8 import uba.db.sql.language.Insert;
9 import uba.db.sql.language.Select;
10 import uba.db.sql.language.Sentence;
11 import uba.db.sql.language.VisitorBehavior;
12
13 /***
14 * @version $Revision: 1.1 $
15 */
16 public class ValidationSetUpVisitor extends VisitorBehavior {
17 private SentenceValidator validator;
18 private List validations;
19 private Sentence sentence;
20
21 public ValidationSetUpVisitor(Sentence sentence, SentenceValidator validator) {
22 this.sentence = sentence;
23 this.validator = validator;
24 validations = new ArrayList();
25 }
26
27 /***
28 * @see uba.db.sql.language.VisitorBehavior#visitCreateTable(uba.db.sql.language.CreateTable)
29 */
30 public void visitCreateTable(CreateTable table) {
31 validations.add(new NewTableNameValidation(sentence, validator));
32 }
33
34 /***
35 * @see uba.db.sql.language.VisitorBehavior#visitInsert(uba.db.sql.language.Insert)
36 */
37 public void visitInsert(Insert insert) {
38 validations.add(new ExistantTableValidation(sentence, validator));
39 validations.add(new ColumnNameValidation(sentence, validator));
40 }
41
42 /***
43 * @see uba.db.sql.language.VisitorBehavior#visitSelect(uba.db.sql.language.Select)
44 */
45 public void visitSelect(Select select) {
46 validations.add(new ExistantTableValidation(sentence, validator));
47 validations.add(new ColumnNameValidation(sentence, validator));
48 }
49
50 public List validations() {
51 return Collections.unmodifiableList(validations);
52 }
53 }